﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Web.Mvc;

namespace MvcMusicStore.Models
{
    [Bind(Exclude = "AlbumId")]
    public class Album
    {
        [DisplayName("Album Number")]
        [HiddenInput(DisplayValue = true)] //se oculta el input para edición, pero se muestra su valor.
        public int AlbumId { get; set; }

        [DisplayName("Genre")]
        public int GenreId { get; set; }

        [Required(ErrorMessage="Le titulll!")]
        [StringLength(20)] //al parecer tambien setea esta longitud en la base.
        public string Title { get; set; }

        [Required(ErrorMessage = "Le Price!")]
        [Range(0.01,1000.0,ErrorMessage="te juiste con el precio (entre 0.01 y 1000.0)")]
        public decimal Price { get; set; }

        [AllowHtml] //Poniendo esto en un modelo o vista hará que ASP.NET MVC 3 deshabilite la protección de inyección HTML. 
        [DisplayName("Album Art URL")]
        [StringLength(1024)]
        public string AlbumArtUrl { get; set; }

        public virtual Genre Genre { get; set; }
    }

   
}